package joyi.train.service;

import j.data.tree.TreeData;
import j.framework.core.ServiceContext;
import joyi.train.domain.CustomerCategory;

import java.util.Map;

/**
 * 用户管理业务类
 * Created by joyisoft on 2015-10-12.
 */
public interface UserManagerService {
    /**
     * 获取用户分类树表数据
     * @param serviceContext 参数上下文
     * @return
     */
    Map<String,Object> getUserCategoryTreeGrid(ServiceContext serviceContext);

    /**
     * 获取用户分类树结构
     * 格式如下：
     * [
     *      {id:'id',text:'',children:[{},{}]}
     * ]
     * @param serviceContext
     * @return
     */
    TreeData getUserCategoryTree(ServiceContext serviceContext);

    /**
     * 保存用户分类
     * @param serviceContext
     */
    void saveUserCategory(ServiceContext serviceContext);

    /**
     * 删除用户分类，如果分类下有子分类，提示且不允许删除；
     * 如果分类下有用户，提示且不允许删除
     * @param serviceContext
     */
    Map<String,Object> deleteUserCategory(ServiceContext serviceContext);

    /**
     * 在弹出增加修改用户分类时，调用此方法
     * @param serviceContext
     * @return
     */
    CustomerCategory doShowEditCustomerCategoryUI(ServiceContext serviceContext);
}
